package com.hcs.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author hcs
 * @since 2025-01-12 09:26
 */
@Getter
@Setter
@TableName("permission")
@Schema(name = "Permission", description = "权限表")
public class Permission {

    // 主键
    @Schema(description = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    // 权限名称
    @Schema(description = "权限名称")
    @TableField("label")
    private String label;

    // 父级id
    @Schema(description = "父级id")
    @TableField("parent_id")
    private Long parentId;

    // 父级名称
    @Schema(description = "父级名称")
    @TableField("parent_name")
    private String parentName;

    // 权限标识
    @Schema(description = "权限标识")
    @TableField("code")
    private String code;

    // 路由地址
    @Schema(description = "路由地址")
    @TableField("path")
    private String path;

    // 组件名称
    @Schema(description = "组件名称")
    @TableField("name")
    private String name;

    // 请求地址
    @Schema(description = "请求地址")
    @TableField("url")
    private String url;

    // 类型
    @Schema(description = "类型")
    @TableField("type")
    private Byte type;

    // 图标
    @Schema(description = "图标")
    @TableField("icon")
    private String icon;

    // 创建时间
    @Schema(description = "创建时间")
    @TableField("create_time")
    private Date createTime;

    // 更新时间
    @Schema(description = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    // 备注
    @Schema(description = "备注")
    @TableField("remark")
    private String remark;

    // 排序
    @Schema(description = "排序")
    @TableField("order_num")
    private Integer orderNum;

    // 是否删除
    @Schema(description = "是否删除")
    @TableField("is_delete")
    private Byte isDelete;
}
